using System;

namespace OffsetPath
{
    public class ClassAj
    {
        public double a;
        public double b;

        public ClassAj()
        {
            this.b = 0.0;
            this.a = 0.0;
        }

        public ClassAj(double A_0, double A_1)
        {
            this.b = A_0;
            this.a = A_1;
        }

        public double MethodA()
        {
            return (this.a - this.b);
        }

        public bool MethodA(ClassAj A_0)
        {
            return (this.MethodA(A_0.b) && this.MethodA(A_0.a));
        }

        public bool MethodA(double A_0)
        {
            return ((this.b <= A_0) && (A_0 <= this.a));
        }

        public bool MethodA(ClassAj A_0, ClassAj A_1)
        {
            if ((A_0.b < this.a) && (A_0.a > this.b))
            {
                A_1.b = Math.Max(A_0.b, this.b);
                A_1.a = Math.Min(A_0.a, this.a);
                return true;
            }
            return false;
        }

        public void MethodB(ClassAj A_0)
        {
            if (A_0.a > this.a)
            {
                this.a = A_0.a;
            }
            if (A_0.b < this.b)
            {
                this.b = A_0.b;
            }
        }

        public void MethodB(double A_0)
        {
            if (A_0 > this.a)
            {
                this.a = A_0;
            }
            else if (A_0 < this.b)
            {
                this.b = A_0;
            }
        }

        public bool c(ClassAj A_0)
        {
            return (this.b > A_0.a);
        }

        public bool d(ClassAj A_0)
        {
            return (!this.f(A_0) && !this.c(A_0));
        }

        public void e(ClassAj A_0)
        {
            this.a = A_0.a;
            this.b = A_0.b;
        }

        public bool f(ClassAj A_0)
        {
            return (this.a < A_0.b);
        }

        ~ClassAj()
        {
        }
    }

}